A Taxonomy of Buffer Overflows for Evaluating Static and Dynamic Software Testing Tools*
نویسندگان
چکیده
A taxonomy that uses twenty-two attributes to characterize Cprogram overflows was used to construct 291 small C-program test cases that can be used to diagnostically determine the basic capabilities of static and dynamic analysis buffer overflow detection tools. Attributes in the taxonomy include the buffer location (e.g. stack, heap, data region, BSS, shared memory); scope difference between buffer allocation and access; index, pointer, and alias complexity when addressing buffer elements; complexity of the control flow and loop structure surrounding the overflow; type of container the buffer is within (e.g. structure, union, array); whether the overflow is caused by a signed/unsigned type error; the overflow magnitude and direction; and whether the overflow is discrete or continuous. As an example, the 291 test cases were used to measure the detection, false alarm, and confusion rates of five static analysis tools. They reveal specific strengths and limitations of tools and suggest directions for improvements.
منابع مشابه
Using a Diagnostic Corpus of C Programs to Evaluate Buffer Overflow Detection by Static Analysis Tools*
A corpus of 291 small C-program test cases was developed to evaluate static and dynamic analysis tools designed to detect buffer overflows. The corpus was designed and labeled using a new, comprehensive buffer overflow taxonomy. It provides a benchmark to measure detection, false alarm, and confusion rates of tools, and also suggests areas for tool enhancement. Experiments with five tools demon...
متن کاملAn Evolutionary Testing Approach to detect Buffer Overflows
Testing activity consumes about 50% of software development resources thus any technique aimed at reducing software testing costs is likely to produce positive effects. Indeed, exhaustive and thorough testing is often too expensive and unfeasible due to resource constraints. Unfortunately, defects slipped into deployed software may be the cause of threats to human beings or unacceptable economi...
متن کاملEvaluating Commercial Macroporous Resin (D201) for Uranium Uptake in Static and Dynamic Fixed Bed Ion Exchange Column
As part of the development of equipment and innovative technology for the process flow-sheet, a study on the selection of good resin for uranium uptake is ongoing. Both static and dynamic column equilibrium testing upon synthetic and Gattar pregnant leach solutions (PLS) were carried out to estimate the change of total capacity and breakthrough capacity of the commercial macroporous anion excha...
متن کاملA Comparison of Publicly Available Tools for Dynamic Buffer Overflow Prevention
The size and complexity of software systems is growing, increasing the number of bugs. Many of these bugs constitute security vulnerabilities. Most common of these bugs is the buffer overflow vulnerability. In this paper we implement a testbed of 20 different buffer overflow attacks, and use it to compare four publicly available tools for dynamic intrusion prevention aiming to stop buffer overf...
متن کاملEnsuring Safe Usage of Buffers in Programming Language C
We consider the problem of buffer overflows in C programs. This problem is very important because buffer overflows are suitable targets for security attacks and sources of serious programs’ misbehavior. Buffer overflow bugs can be detected at run-time by dynamic analysis, and before run-time by static analysis. In this paper we present a new static, modular approach for automated detection of b...
متن کامل